using System;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace WcfService1.DTO
{
    [DataContract]
    public class MutasiWarehouseDetailDTO : INotifyPropertyChanged
    {
        private InventoryDTO _Inventory;
        private Int64 _MutasiWarehouseDetailId;
        private int _No;
        private decimal _Qty;
        private decimal _Sheet;
        private decimal _Lebar;
        private decimal _Panjang;
        private string _KodePallet;

        [DataMember]
        public Int64 MutasiWarehouseDetailId
        {
            get { return _MutasiWarehouseDetailId; }
            set
            {
                _MutasiWarehouseDetailId = value;
                RaisePropertyChanged("MutasiWarehouseDetailId");
            }
        }


        [DataMember]
        public InventoryDTO Inventory
        {
            get { return _Inventory; }
            set
            {
                _Inventory = value;
                RaisePropertyChanged("Inventory");
            }
        }

        [DataMember]
        public Decimal Sheet
        {
            get { return _Sheet; }
            set
            {
                _Sheet = value;
                RaisePropertyChanged("Sheet");
            }
        }

        [DataMember]
        public Decimal Panjang
        {
            get { return _Panjang; }
            set
            {
                _Panjang = value;
                RaisePropertyChanged("Panjang");
            }
        }

        [DataMember]
        public Decimal Lebar
        {
            get { return _Lebar; }
            set
            {
                _Lebar = value;
                RaisePropertyChanged("Lebar");
            }
        }


        [DataMember]
        public Decimal Qty
        {
            get { return _Qty; }
            set
            {
                _Qty = value;
                RaisePropertyChanged("Qty");
            }
        }


        [DataMember]
        public string KodePallet
        {
            get { return _KodePallet; }
            set
            {
                _KodePallet = value;
                RaisePropertyChanged("KodePallet");
            }
        }

        public int No
        {
            get { return _No; }
            set
            {
                _No = value;
                RaisePropertyChanged("No");
            }
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion

        protected void RaisePropertyChanged(string propertyname)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyname));
        }
    }
}